/**
 * 资源管理数据列表页JS
 * User: fengchuang
 * Date: 15-8-17
 * Time: 下午5:58
 * To change this template use File | Settings | File Templates.
 */
$(function(){
    //激活左侧导航菜单
    activeNavBar("MANAGE_RESOURCE_INFO");
    initSelect2();
    loadResourceTree();

    $("#expandAllBtn").click(function(){
        $.fn.zTree.getZTreeObj("resourceTree").expandAll(true);
        $("#expandAllBtn").addClass("hide");
        $("#foldAllBtn").removeClass("hide");
    });

    $("#foldAllBtn").click(function(){
        $.fn.zTree.getZTreeObj("resourceTree").expandAll(false);
        $("#expandAllBtn").removeClass("hide");
        $("#foldAllBtn").addClass("hide");
    });

    $("#addBtn").click(function(){
        openAddPage();
    });
    $("#editBtn").click(function(){
        openEditPage();
    });
    $("#deleteBtn").click(function(){
        removeTreeNode();
    });
});

var zTree;
/**
 * 加载资源树
 */
function loadResourceTree(){

    var setting = {
        data: {
            key: {
                name: "resourceName"
            },
            simpleData: {
                enable: true,
                idKey: "resourceCode",
                pIdKey: "parentResourceCode"
            }
        }
    };

    var zNodes;

    function initTreeNode(data){
        zNodes = data;
        $.fn.zTree.init($("#resourceTree"), setting, zNodes);
        zTree = $.fn.zTree.getZTreeObj("resourceTree");
        zTree.expandAll(true);
    };

    jQuery.ajax({
        type:"post",
        cache:false,
        dataType:'json',
        url:springUrl + "/web/resourceInfo/list",
        success:function (data) {
            initTreeNode(data);
        },
        error : function(data){
            Alert.error("初始化页面数据失败!");
        }
    });
}

/**
 * 打开新增页面
 */
function openAddPage(){
    var nodes = zTree.getSelectedNodes();
    if (!nodes || nodes.length==0){
        Alert.warning("请选择一个父节点！");
        return;
    } else if(nodes.length>1){
        Alert.warning("只能选择一个父节点！");
        return;
    }
    if(nodes[0].resourceTypeCode=="NODE") {
        Alert.warning("所选资源为[节点]资源，不能增加子节点！");
        return;
    }
    window.forward(springUrl+"/web/resourceInfo/addPage?uniqueNo="+nodes[0].uniqueNo);
}

/**
 * 打开修改页面
 */
function openEditPage(){
    var nodes = zTree.getSelectedNodes();
    if (!nodes || nodes.length==0){
        Alert.warning("请选择一个修改节点！");
        return;
    } else if(nodes.length>1){
        Alert.warning("只能选择一个修改节点！");
        return;
    }
    window.forward(springUrl+"/web/resourceInfo/editPage?uniqueNo="+nodes[0].uniqueNo);
}

/**
 * 删除节点
 */
function removeTreeNode() {
    var nodes = zTree.getSelectedNodes();
    if (!nodes || nodes.length==0){
        Alert.warning("请选择一个删除节点！");
        return;
    } else if(nodes.length>1){
        Alert.warning("只能选择一个删除节点！");
        return;
    }
    if (nodes[0].children && nodes[0].children.length > 0) {
        Alert.warning("此节点存在子节点，请先删除子节点");
        return;
    }
    Alert.confirm("您确定删除该节点？", function () {
        jQuery.ajax({
            type: "POST",
            dataType: "json",
            url: springUrl + "/web/resourceInfo/delete",
            data: {
                uniqueNo: nodes[0].uniqueNo
            },
            success: function (data) {
                Alert.success("删除成功!", function () {
                    loadResourceTree();
                });
            },
            error: function(data){
                Alert.error(data.responseText);
            }
        });
    })
}



